package com.woniu.outlet.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class InventoryInoutPoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public InventoryInoutPoExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdIsNull() {
            addCriterion("material_bom_id is null");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdIsNotNull() {
            addCriterion("material_bom_id is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdEqualTo(Integer value) {
            addCriterion("material_bom_id =", value, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdNotEqualTo(Integer value) {
            addCriterion("material_bom_id <>", value, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdGreaterThan(Integer value) {
            addCriterion("material_bom_id >", value, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("material_bom_id >=", value, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdLessThan(Integer value) {
            addCriterion("material_bom_id <", value, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdLessThanOrEqualTo(Integer value) {
            addCriterion("material_bom_id <=", value, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdIn(List<Integer> values) {
            addCriterion("material_bom_id in", values, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdNotIn(List<Integer> values) {
            addCriterion("material_bom_id not in", values, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdBetween(Integer value1, Integer value2) {
            addCriterion("material_bom_id between", value1, value2, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andMaterialBomIdNotBetween(Integer value1, Integer value2) {
            addCriterion("material_bom_id not between", value1, value2, "materialBomId");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(Integer value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(Integer value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(Integer value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(Integer value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(Integer value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<Integer> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<Integer> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(Integer value1, Integer value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(Integer value1, Integer value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andComponentIdIsNull() {
            addCriterion("component_id is null");
            return (Criteria) this;
        }

        public Criteria andComponentIdIsNotNull() {
            addCriterion("component_id is not null");
            return (Criteria) this;
        }

        public Criteria andComponentIdEqualTo(Integer value) {
            addCriterion("component_id =", value, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdNotEqualTo(Integer value) {
            addCriterion("component_id <>", value, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdGreaterThan(Integer value) {
            addCriterion("component_id >", value, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("component_id >=", value, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdLessThan(Integer value) {
            addCriterion("component_id <", value, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdLessThanOrEqualTo(Integer value) {
            addCriterion("component_id <=", value, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdIn(List<Integer> values) {
            addCriterion("component_id in", values, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdNotIn(List<Integer> values) {
            addCriterion("component_id not in", values, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdBetween(Integer value1, Integer value2) {
            addCriterion("component_id between", value1, value2, "componentId");
            return (Criteria) this;
        }

        public Criteria andComponentIdNotBetween(Integer value1, Integer value2) {
            addCriterion("component_id not between", value1, value2, "componentId");
            return (Criteria) this;
        }

        public Criteria andColorIsNull() {
            addCriterion("color is null");
            return (Criteria) this;
        }

        public Criteria andColorIsNotNull() {
            addCriterion("color is not null");
            return (Criteria) this;
        }

        public Criteria andColorEqualTo(String value) {
            addCriterion("color =", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotEqualTo(String value) {
            addCriterion("color <>", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThan(String value) {
            addCriterion("color >", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorGreaterThanOrEqualTo(String value) {
            addCriterion("color >=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThan(String value) {
            addCriterion("color <", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLessThanOrEqualTo(String value) {
            addCriterion("color <=", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorLike(String value) {
            addCriterion("color like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotLike(String value) {
            addCriterion("color not like", value, "color");
            return (Criteria) this;
        }

        public Criteria andColorIn(List<String> values) {
            addCriterion("color in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotIn(List<String> values) {
            addCriterion("color not in", values, "color");
            return (Criteria) this;
        }

        public Criteria andColorBetween(String value1, String value2) {
            addCriterion("color between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andColorNotBetween(String value1, String value2) {
            addCriterion("color not between", value1, value2, "color");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelIsNull() {
            addCriterion("specification_model is null");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelIsNotNull() {
            addCriterion("specification_model is not null");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelEqualTo(String value) {
            addCriterion("specification_model =", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelNotEqualTo(String value) {
            addCriterion("specification_model <>", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelGreaterThan(String value) {
            addCriterion("specification_model >", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelGreaterThanOrEqualTo(String value) {
            addCriterion("specification_model >=", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelLessThan(String value) {
            addCriterion("specification_model <", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelLessThanOrEqualTo(String value) {
            addCriterion("specification_model <=", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelLike(String value) {
            addCriterion("specification_model like", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelNotLike(String value) {
            addCriterion("specification_model not like", value, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelIn(List<String> values) {
            addCriterion("specification_model in", values, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelNotIn(List<String> values) {
            addCriterion("specification_model not in", values, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelBetween(String value1, String value2) {
            addCriterion("specification_model between", value1, value2, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationModelNotBetween(String value1, String value2) {
            addCriterion("specification_model not between", value1, value2, "specificationModel");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitIsNull() {
            addCriterion("specification_unit is null");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitIsNotNull() {
            addCriterion("specification_unit is not null");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitEqualTo(String value) {
            addCriterion("specification_unit =", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitNotEqualTo(String value) {
            addCriterion("specification_unit <>", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitGreaterThan(String value) {
            addCriterion("specification_unit >", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitGreaterThanOrEqualTo(String value) {
            addCriterion("specification_unit >=", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitLessThan(String value) {
            addCriterion("specification_unit <", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitLessThanOrEqualTo(String value) {
            addCriterion("specification_unit <=", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitLike(String value) {
            addCriterion("specification_unit like", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitNotLike(String value) {
            addCriterion("specification_unit not like", value, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitIn(List<String> values) {
            addCriterion("specification_unit in", values, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitNotIn(List<String> values) {
            addCriterion("specification_unit not in", values, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitBetween(String value1, String value2) {
            addCriterion("specification_unit between", value1, value2, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andSpecificationUnitNotBetween(String value1, String value2) {
            addCriterion("specification_unit not between", value1, value2, "specificationUnit");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumIsNull() {
            addCriterion("purchase_num is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumIsNotNull() {
            addCriterion("purchase_num is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumEqualTo(Integer value) {
            addCriterion("purchase_num =", value, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumNotEqualTo(Integer value) {
            addCriterion("purchase_num <>", value, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumGreaterThan(Integer value) {
            addCriterion("purchase_num >", value, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("purchase_num >=", value, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumLessThan(Integer value) {
            addCriterion("purchase_num <", value, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumLessThanOrEqualTo(Integer value) {
            addCriterion("purchase_num <=", value, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumIn(List<Integer> values) {
            addCriterion("purchase_num in", values, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumNotIn(List<Integer> values) {
            addCriterion("purchase_num not in", values, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumBetween(Integer value1, Integer value2) {
            addCriterion("purchase_num between", value1, value2, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPurchaseNumNotBetween(Integer value1, Integer value2) {
            addCriterion("purchase_num not between", value1, value2, "purchaseNum");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceIsNull() {
            addCriterion("pruchase_price is null");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceIsNotNull() {
            addCriterion("pruchase_price is not null");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceEqualTo(String value) {
            addCriterion("pruchase_price =", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceNotEqualTo(String value) {
            addCriterion("pruchase_price <>", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceGreaterThan(String value) {
            addCriterion("pruchase_price >", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceGreaterThanOrEqualTo(String value) {
            addCriterion("pruchase_price >=", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceLessThan(String value) {
            addCriterion("pruchase_price <", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceLessThanOrEqualTo(String value) {
            addCriterion("pruchase_price <=", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceLike(String value) {
            addCriterion("pruchase_price like", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceNotLike(String value) {
            addCriterion("pruchase_price not like", value, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceIn(List<String> values) {
            addCriterion("pruchase_price in", values, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceNotIn(List<String> values) {
            addCriterion("pruchase_price not in", values, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceBetween(String value1, String value2) {
            addCriterion("pruchase_price between", value1, value2, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andPruchasePriceNotBetween(String value1, String value2) {
            addCriterion("pruchase_price not between", value1, value2, "pruchasePrice");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumIsNull() {
            addCriterion("nuon_standard_num is null");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumIsNotNull() {
            addCriterion("nuon_standard_num is not null");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumEqualTo(Integer value) {
            addCriterion("nuon_standard_num =", value, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumNotEqualTo(Integer value) {
            addCriterion("nuon_standard_num <>", value, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumGreaterThan(Integer value) {
            addCriterion("nuon_standard_num >", value, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("nuon_standard_num >=", value, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumLessThan(Integer value) {
            addCriterion("nuon_standard_num <", value, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumLessThanOrEqualTo(Integer value) {
            addCriterion("nuon_standard_num <=", value, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumIn(List<Integer> values) {
            addCriterion("nuon_standard_num in", values, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumNotIn(List<Integer> values) {
            addCriterion("nuon_standard_num not in", values, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumBetween(Integer value1, Integer value2) {
            addCriterion("nuon_standard_num between", value1, value2, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andNuonStandardNumNotBetween(Integer value1, Integer value2) {
            addCriterion("nuon_standard_num not between", value1, value2, "nuonStandardNum");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveIsNull() {
            addCriterion("library_position_reserve is null");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveIsNotNull() {
            addCriterion("library_position_reserve is not null");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveEqualTo(Integer value) {
            addCriterion("library_position_reserve =", value, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveNotEqualTo(Integer value) {
            addCriterion("library_position_reserve <>", value, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveGreaterThan(Integer value) {
            addCriterion("library_position_reserve >", value, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveGreaterThanOrEqualTo(Integer value) {
            addCriterion("library_position_reserve >=", value, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveLessThan(Integer value) {
            addCriterion("library_position_reserve <", value, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveLessThanOrEqualTo(Integer value) {
            addCriterion("library_position_reserve <=", value, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveIn(List<Integer> values) {
            addCriterion("library_position_reserve in", values, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveNotIn(List<Integer> values) {
            addCriterion("library_position_reserve not in", values, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveBetween(Integer value1, Integer value2) {
            addCriterion("library_position_reserve between", value1, value2, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andLibraryPositionReserveNotBetween(Integer value1, Integer value2) {
            addCriterion("library_position_reserve not between", value1, value2, "libraryPositionReserve");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightIsNull() {
            addCriterion("theoretical_weight is null");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightIsNotNull() {
            addCriterion("theoretical_weight is not null");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightEqualTo(String value) {
            addCriterion("theoretical_weight =", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightNotEqualTo(String value) {
            addCriterion("theoretical_weight <>", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightGreaterThan(String value) {
            addCriterion("theoretical_weight >", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightGreaterThanOrEqualTo(String value) {
            addCriterion("theoretical_weight >=", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightLessThan(String value) {
            addCriterion("theoretical_weight <", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightLessThanOrEqualTo(String value) {
            addCriterion("theoretical_weight <=", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightLike(String value) {
            addCriterion("theoretical_weight like", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightNotLike(String value) {
            addCriterion("theoretical_weight not like", value, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightIn(List<String> values) {
            addCriterion("theoretical_weight in", values, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightNotIn(List<String> values) {
            addCriterion("theoretical_weight not in", values, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightBetween(String value1, String value2) {
            addCriterion("theoretical_weight between", value1, value2, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andTheoreticalWeightNotBetween(String value1, String value2) {
            addCriterion("theoretical_weight not between", value1, value2, "theoreticalWeight");
            return (Criteria) this;
        }

        public Criteria andValuationUnitIsNull() {
            addCriterion("valuation_unit is null");
            return (Criteria) this;
        }

        public Criteria andValuationUnitIsNotNull() {
            addCriterion("valuation_unit is not null");
            return (Criteria) this;
        }

        public Criteria andValuationUnitEqualTo(String value) {
            addCriterion("valuation_unit =", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitNotEqualTo(String value) {
            addCriterion("valuation_unit <>", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitGreaterThan(String value) {
            addCriterion("valuation_unit >", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitGreaterThanOrEqualTo(String value) {
            addCriterion("valuation_unit >=", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitLessThan(String value) {
            addCriterion("valuation_unit <", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitLessThanOrEqualTo(String value) {
            addCriterion("valuation_unit <=", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitLike(String value) {
            addCriterion("valuation_unit like", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitNotLike(String value) {
            addCriterion("valuation_unit not like", value, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitIn(List<String> values) {
            addCriterion("valuation_unit in", values, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitNotIn(List<String> values) {
            addCriterion("valuation_unit not in", values, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitBetween(String value1, String value2) {
            addCriterion("valuation_unit between", value1, value2, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andValuationUnitNotBetween(String value1, String value2) {
            addCriterion("valuation_unit not between", value1, value2, "valuationUnit");
            return (Criteria) this;
        }

        public Criteria andInoutNumIsNull() {
            addCriterion("inout_num is null");
            return (Criteria) this;
        }

        public Criteria andInoutNumIsNotNull() {
            addCriterion("inout_num is not null");
            return (Criteria) this;
        }

        public Criteria andInoutNumEqualTo(Integer value) {
            addCriterion("inout_num =", value, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumNotEqualTo(Integer value) {
            addCriterion("inout_num <>", value, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumGreaterThan(Integer value) {
            addCriterion("inout_num >", value, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("inout_num >=", value, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumLessThan(Integer value) {
            addCriterion("inout_num <", value, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumLessThanOrEqualTo(Integer value) {
            addCriterion("inout_num <=", value, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumIn(List<Integer> values) {
            addCriterion("inout_num in", values, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumNotIn(List<Integer> values) {
            addCriterion("inout_num not in", values, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumBetween(Integer value1, Integer value2) {
            addCriterion("inout_num between", value1, value2, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutNumNotBetween(Integer value1, Integer value2) {
            addCriterion("inout_num not between", value1, value2, "inoutNum");
            return (Criteria) this;
        }

        public Criteria andInoutTypeIsNull() {
            addCriterion("inout_type is null");
            return (Criteria) this;
        }

        public Criteria andInoutTypeIsNotNull() {
            addCriterion("inout_type is not null");
            return (Criteria) this;
        }

        public Criteria andInoutTypeEqualTo(String value) {
            addCriterion("inout_type =", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeNotEqualTo(String value) {
            addCriterion("inout_type <>", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeGreaterThan(String value) {
            addCriterion("inout_type >", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeGreaterThanOrEqualTo(String value) {
            addCriterion("inout_type >=", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeLessThan(String value) {
            addCriterion("inout_type <", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeLessThanOrEqualTo(String value) {
            addCriterion("inout_type <=", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeLike(String value) {
            addCriterion("inout_type like", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeNotLike(String value) {
            addCriterion("inout_type not like", value, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeIn(List<String> values) {
            addCriterion("inout_type in", values, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeNotIn(List<String> values) {
            addCriterion("inout_type not in", values, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeBetween(String value1, String value2) {
            addCriterion("inout_type between", value1, value2, "inoutType");
            return (Criteria) this;
        }

        public Criteria andInoutTypeNotBetween(String value1, String value2) {
            addCriterion("inout_type not between", value1, value2, "inoutType");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(String value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(String value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(String value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(String value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(String value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(String value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLike(String value) {
            addCriterion("type like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotLike(String value) {
            addCriterion("type not like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<String> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<String> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(String value1, String value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(String value1, String value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterionForJDBCDate("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterionForJDBCDate("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterionForJDBCDate("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdIsNull() {
            addCriterion("create_worker_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdIsNotNull() {
            addCriterion("create_worker_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdEqualTo(Integer value) {
            addCriterion("create_worker_id =", value, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdNotEqualTo(Integer value) {
            addCriterion("create_worker_id <>", value, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdGreaterThan(Integer value) {
            addCriterion("create_worker_id >", value, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("create_worker_id >=", value, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdLessThan(Integer value) {
            addCriterion("create_worker_id <", value, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdLessThanOrEqualTo(Integer value) {
            addCriterion("create_worker_id <=", value, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdIn(List<Integer> values) {
            addCriterion("create_worker_id in", values, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdNotIn(List<Integer> values) {
            addCriterion("create_worker_id not in", values, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdBetween(Integer value1, Integer value2) {
            addCriterion("create_worker_id between", value1, value2, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andCreateWorkerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("create_worker_id not between", value1, value2, "createWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNull() {
            addCriterion("modify_time is null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNotNull() {
            addCriterion("modify_time is not null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeEqualTo(Date value) {
            addCriterionForJDBCDate("modify_time =", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("modify_time <>", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("modify_time >", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("modify_time >=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThan(Date value) {
            addCriterionForJDBCDate("modify_time <", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("modify_time <=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIn(List<Date> values) {
            addCriterionForJDBCDate("modify_time in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("modify_time not in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("modify_time between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("modify_time not between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdIsNull() {
            addCriterion("modify_worker_id is null");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdIsNotNull() {
            addCriterion("modify_worker_id is not null");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdEqualTo(Integer value) {
            addCriterion("modify_worker_id =", value, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdNotEqualTo(Integer value) {
            addCriterion("modify_worker_id <>", value, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdGreaterThan(Integer value) {
            addCriterion("modify_worker_id >", value, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("modify_worker_id >=", value, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdLessThan(Integer value) {
            addCriterion("modify_worker_id <", value, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdLessThanOrEqualTo(Integer value) {
            addCriterion("modify_worker_id <=", value, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdIn(List<Integer> values) {
            addCriterion("modify_worker_id in", values, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdNotIn(List<Integer> values) {
            addCriterion("modify_worker_id not in", values, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdBetween(Integer value1, Integer value2) {
            addCriterion("modify_worker_id between", value1, value2, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andModifyWorkerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("modify_worker_id not between", value1, value2, "modifyWorkerId");
            return (Criteria) this;
        }

        public Criteria andIsoutIsNull() {
            addCriterion("isout is null");
            return (Criteria) this;
        }

        public Criteria andIsoutIsNotNull() {
            addCriterion("isout is not null");
            return (Criteria) this;
        }

        public Criteria andIsoutEqualTo(String value) {
            addCriterion("isout =", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutNotEqualTo(String value) {
            addCriterion("isout <>", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutGreaterThan(String value) {
            addCriterion("isout >", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutGreaterThanOrEqualTo(String value) {
            addCriterion("isout >=", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutLessThan(String value) {
            addCriterion("isout <", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutLessThanOrEqualTo(String value) {
            addCriterion("isout <=", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutLike(String value) {
            addCriterion("isout like", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutNotLike(String value) {
            addCriterion("isout not like", value, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutIn(List<String> values) {
            addCriterion("isout in", values, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutNotIn(List<String> values) {
            addCriterion("isout not in", values, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutBetween(String value1, String value2) {
            addCriterion("isout between", value1, value2, "isout");
            return (Criteria) this;
        }

        public Criteria andIsoutNotBetween(String value1, String value2) {
            addCriterion("isout not between", value1, value2, "isout");
            return (Criteria) this;
        }

        public Criteria andSpare1IsNull() {
            addCriterion("spare1 is null");
            return (Criteria) this;
        }

        public Criteria andSpare1IsNotNull() {
            addCriterion("spare1 is not null");
            return (Criteria) this;
        }

        public Criteria andSpare1EqualTo(String value) {
            addCriterion("spare1 =", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1NotEqualTo(String value) {
            addCriterion("spare1 <>", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1GreaterThan(String value) {
            addCriterion("spare1 >", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1GreaterThanOrEqualTo(String value) {
            addCriterion("spare1 >=", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1LessThan(String value) {
            addCriterion("spare1 <", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1LessThanOrEqualTo(String value) {
            addCriterion("spare1 <=", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1Like(String value) {
            addCriterion("spare1 like", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1NotLike(String value) {
            addCriterion("spare1 not like", value, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1In(List<String> values) {
            addCriterion("spare1 in", values, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1NotIn(List<String> values) {
            addCriterion("spare1 not in", values, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1Between(String value1, String value2) {
            addCriterion("spare1 between", value1, value2, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare1NotBetween(String value1, String value2) {
            addCriterion("spare1 not between", value1, value2, "spare1");
            return (Criteria) this;
        }

        public Criteria andSpare2IsNull() {
            addCriterion("spare2 is null");
            return (Criteria) this;
        }

        public Criteria andSpare2IsNotNull() {
            addCriterion("spare2 is not null");
            return (Criteria) this;
        }

        public Criteria andSpare2EqualTo(String value) {
            addCriterion("spare2 =", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2NotEqualTo(String value) {
            addCriterion("spare2 <>", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2GreaterThan(String value) {
            addCriterion("spare2 >", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2GreaterThanOrEqualTo(String value) {
            addCriterion("spare2 >=", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2LessThan(String value) {
            addCriterion("spare2 <", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2LessThanOrEqualTo(String value) {
            addCriterion("spare2 <=", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2Like(String value) {
            addCriterion("spare2 like", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2NotLike(String value) {
            addCriterion("spare2 not like", value, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2In(List<String> values) {
            addCriterion("spare2 in", values, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2NotIn(List<String> values) {
            addCriterion("spare2 not in", values, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2Between(String value1, String value2) {
            addCriterion("spare2 between", value1, value2, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare2NotBetween(String value1, String value2) {
            addCriterion("spare2 not between", value1, value2, "spare2");
            return (Criteria) this;
        }

        public Criteria andSpare3IsNull() {
            addCriterion("spare3 is null");
            return (Criteria) this;
        }

        public Criteria andSpare3IsNotNull() {
            addCriterion("spare3 is not null");
            return (Criteria) this;
        }

        public Criteria andSpare3EqualTo(String value) {
            addCriterion("spare3 =", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3NotEqualTo(String value) {
            addCriterion("spare3 <>", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3GreaterThan(String value) {
            addCriterion("spare3 >", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3GreaterThanOrEqualTo(String value) {
            addCriterion("spare3 >=", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3LessThan(String value) {
            addCriterion("spare3 <", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3LessThanOrEqualTo(String value) {
            addCriterion("spare3 <=", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3Like(String value) {
            addCriterion("spare3 like", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3NotLike(String value) {
            addCriterion("spare3 not like", value, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3In(List<String> values) {
            addCriterion("spare3 in", values, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3NotIn(List<String> values) {
            addCriterion("spare3 not in", values, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3Between(String value1, String value2) {
            addCriterion("spare3 between", value1, value2, "spare3");
            return (Criteria) this;
        }

        public Criteria andSpare3NotBetween(String value1, String value2) {
            addCriterion("spare3 not between", value1, value2, "spare3");
            return (Criteria) this;
        }


        public Criteria andPurchaseIdIsNull() {
            addCriterion("purchase_id is null");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdIsNotNull() {
            addCriterion("purchase_id is not null");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdEqualTo(Integer value) {
            addCriterion("purchase_id =", value, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdNotEqualTo(Integer value) {
            addCriterion("purchase_id <>", value, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdGreaterThan(Integer value) {
            addCriterion("purchase_id >", value, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("purchase_id >=", value, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdLessThan(Integer value) {
            addCriterion("purchase_id <", value, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdLessThanOrEqualTo(Integer value) {
            addCriterion("purchase_id <=", value, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdIn(List<Integer> values) {
            addCriterion("purchase_id in", values, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdNotIn(List<Integer> values) {
            addCriterion("purchase_id not in", values, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdBetween(Integer value1, Integer value2) {
            addCriterion("purchase_id between", value1, value2, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andPurchaseIdNotBetween(Integer value1, Integer value2) {
            addCriterion("purchase_id not between", value1, value2, "purchaseId");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNull() {
            addCriterion("customer_name is null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNotNull() {
            addCriterion("customer_name is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameEqualTo(String value) {
            addCriterion("customer_name =", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotEqualTo(String value) {
            addCriterion("customer_name <>", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThan(String value) {
            addCriterion("customer_name >", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanOrEqualTo(String value) {
            addCriterion("customer_name >=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThan(String value) {
            addCriterion("customer_name <", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanOrEqualTo(String value) {
            addCriterion("customer_name <=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLike(String value) {
            addCriterion("customer_name like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotLike(String value) {
            addCriterion("customer_name not like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIn(List<String> values) {
            addCriterion("customer_name in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotIn(List<String> values) {
            addCriterion("customer_name not in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameBetween(String value1, String value2) {
            addCriterion("customer_name between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotBetween(String value1, String value2) {
            addCriterion("customer_name not between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNull() {
            addCriterion("customer_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIsNotNull() {
            addCriterion("customer_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerIdEqualTo(Integer value) {
            addCriterion("customer_id =", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotEqualTo(Integer value) {
            addCriterion("customer_id <>", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThan(Integer value) {
            addCriterion("customer_id >", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("customer_id >=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThan(Integer value) {
            addCriterion("customer_id <", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdLessThanOrEqualTo(Integer value) {
            addCriterion("customer_id <=", value, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdIn(List<Integer> values) {
            addCriterion("customer_id in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotIn(List<Integer> values) {
            addCriterion("customer_id not in", values, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdBetween(Integer value1, Integer value2) {
            addCriterion("customer_id between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andCustomerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("customer_id not between", value1, value2, "customerId");
            return (Criteria) this;
        }

        public Criteria andInoutWayIsNull() {
            addCriterion("inout_way is null");
            return (Criteria) this;
        }

        public Criteria andInoutWayIsNotNull() {
            addCriterion("inout_way is not null");
            return (Criteria) this;
        }

        public Criteria andInoutWayEqualTo(String value) {
            addCriterion("inout_way =", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayNotEqualTo(String value) {
            addCriterion("inout_way <>", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayGreaterThan(String value) {
            addCriterion("inout_way >", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayGreaterThanOrEqualTo(String value) {
            addCriterion("inout_way >=", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayLessThan(String value) {
            addCriterion("inout_way <", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayLessThanOrEqualTo(String value) {
            addCriterion("inout_way <=", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayLike(String value) {
            addCriterion("inout_way like", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayNotLike(String value) {
            addCriterion("inout_way not like", value, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayIn(List<String> values) {
            addCriterion("inout_way in", values, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayNotIn(List<String> values) {
            addCriterion("inout_way not in", values, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayBetween(String value1, String value2) {
            addCriterion("inout_way between", value1, value2, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andInoutWayNotBetween(String value1, String value2) {
            addCriterion("inout_way not between", value1, value2, "inoutWay");
            return (Criteria) this;
        }

        public Criteria andBatchCodeIsNull() {
            addCriterion("batch_code is null");
            return (Criteria) this;
        }

        public Criteria andBatchCodeIsNotNull() {
            addCriterion("batch_code is not null");
            return (Criteria) this;
        }

        public Criteria andBatchCodeEqualTo(String value) {
            addCriterion("batch_code =", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeNotEqualTo(String value) {
            addCriterion("batch_code <>", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeGreaterThan(String value) {
            addCriterion("batch_code >", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeGreaterThanOrEqualTo(String value) {
            addCriterion("batch_code >=", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeLessThan(String value) {
            addCriterion("batch_code <", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeLessThanOrEqualTo(String value) {
            addCriterion("batch_code <=", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeLike(String value) {
            addCriterion("batch_code like", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeNotLike(String value) {
            addCriterion("batch_code not like", value, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeIn(List<String> values) {
            addCriterion("batch_code in", values, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeNotIn(List<String> values) {
            addCriterion("batch_code not in", values, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeBetween(String value1, String value2) {
            addCriterion("batch_code between", value1, value2, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchCodeNotBetween(String value1, String value2) {
            addCriterion("batch_code not between", value1, value2, "batchCode");
            return (Criteria) this;
        }

        public Criteria andBatchNumberIsNull() {
            addCriterion("batch_number is null");
            return (Criteria) this;
        }

        public Criteria andBatchNumberIsNotNull() {
            addCriterion("batch_number is not null");
            return (Criteria) this;
        }

        public Criteria andBatchNumberEqualTo(String value) {
            addCriterion("batch_number =", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotEqualTo(String value) {
            addCriterion("batch_number <>", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberGreaterThan(String value) {
            addCriterion("batch_number >", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberGreaterThanOrEqualTo(String value) {
            addCriterion("batch_number >=", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberLessThan(String value) {
            addCriterion("batch_number <", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberLessThanOrEqualTo(String value) {
            addCriterion("batch_number <=", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberLike(String value) {
            addCriterion("batch_number like", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotLike(String value) {
            addCriterion("batch_number not like", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberIn(List<String> values) {
            addCriterion("batch_number in", values, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotIn(List<String> values) {
            addCriterion("batch_number not in", values, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberBetween(String value1, String value2) {
            addCriterion("batch_number between", value1, value2, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotBetween(String value1, String value2) {
            addCriterion("batch_number not between", value1, value2, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeIsNull() {
            addCriterion("material_application_code is null");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeIsNotNull() {
            addCriterion("material_application_code is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeEqualTo(String value) {
            addCriterion("material_application_code =", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeNotEqualTo(String value) {
            addCriterion("material_application_code <>", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeGreaterThan(String value) {
            addCriterion("material_application_code >", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeGreaterThanOrEqualTo(String value) {
            addCriterion("material_application_code >=", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeLessThan(String value) {
            addCriterion("material_application_code <", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeLessThanOrEqualTo(String value) {
            addCriterion("material_application_code <=", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeLike(String value) {
            addCriterion("material_application_code like", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeNotLike(String value) {
            addCriterion("material_application_code not like", value, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeIn(List<String> values) {
            addCriterion("material_application_code in", values, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeNotIn(List<String> values) {
            addCriterion("material_application_code not in", values, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeBetween(String value1, String value2) {
            addCriterion("material_application_code between", value1, value2, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationCodeNotBetween(String value1, String value2) {
            addCriterion("material_application_code not between", value1, value2, "materialApplicationCode");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdIsNull() {
            addCriterion("material_application_id is null");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdIsNotNull() {
            addCriterion("material_application_id is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdEqualTo(Integer value) {
            addCriterion("material_application_id =", value, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdNotEqualTo(Integer value) {
            addCriterion("material_application_id <>", value, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdGreaterThan(Integer value) {
            addCriterion("material_application_id >", value, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("material_application_id >=", value, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdLessThan(Integer value) {
            addCriterion("material_application_id <", value, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdLessThanOrEqualTo(Integer value) {
            addCriterion("material_application_id <=", value, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdIn(List<Integer> values) {
            addCriterion("material_application_id in", values, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdNotIn(List<Integer> values) {
            addCriterion("material_application_id not in", values, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdBetween(Integer value1, Integer value2) {
            addCriterion("material_application_id between", value1, value2, "materialApplicationId");
            return (Criteria) this;
        }

        public Criteria andMaterialApplicationIdNotBetween(Integer value1, Integer value2) {
            addCriterion("material_application_id not between", value1, value2, "materialApplicationId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}